iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
Software Development

軟體架構備忘錄系列 第 21

Day 21 資料儲存 - 儲存設備 (知識點104~109)

  • 分享至 

  • xImage
  •  

思考的問題

資料應該要存放於甚麼位置呢?
資料儲存時,需要思考其儲存設備。
不同儲存設備的效果、成本不一。需要依據需求選擇合適對象。
常見的儲存設備包含:DAS, NAS, SAN, RAID, Block Storage, Object Storage


DAS

描述

Direct attached storage (DAS) 通過硬體直接掛載硬碟來連接磁碟機。可使用SATA, SAS, USB等方式連接硬碟。

使用情境

  • 個人電腦或小型工作站
  • 單一伺服器

優點

  • 架構單純: 只要掛載硬碟即可使用
  • 價格便宜: 相對於NAS與DAS,不須額外設定與伺服器

缺點

  • 絕大部分的DAS裝置,無法與其他伺服器共享硬碟存取

NAS

描述

Network attached storage (NAS) 為獨立的檔案存取伺服器,伺服器透過網路連接硬碟。

使用情境

  • 企業共享磁碟
  • 多台伺服器共同讀取同一磁碟空間

優點

  • 可同時供多台伺服器存取資料
  • 可同時掛載多個硬碟,提供更大的磁碟儲存空間
  • 搭配RAID等機制可提供減少單一硬碟損壞造成資料遺失的缺點

缺點

  • 價格較高: 相對於DAS,需要獨立的伺服器,且同時有多顆硬碟,因此成本較高
  • 架構與管理複雜: NAS需要管理伺服器、網路與儲存設定,因此管理較為困難
  • 單點故障風險: 如果NAS伺服器的網路或電源中斷,則無法提供資料存取服務

SAN

描述

Storage area network (SAN) 使用獨立光纖網路、多台磁碟陣列、多台Switch共同組成儲存空間。雖然是由多台磁碟陣列組成,但是對伺服器來說,仍然可如同一般硬碟一樣進行掛載磁碟使用。SAN可解決NAS單點故障的風險,存取速度也更快,但是價格十分高昂。

使用情境

  • 大型企業共用磁碟、伺服器使用

優點

  • 避免單點故障: 由於同時有多台磁碟陣列提供存取,避免單一磁碟陣列損壞而無法連接的問題
  • 快速存取: SAN透過光纖存取資料,因此存取速度較快
  • 不佔用區網流量: SAN透過獨立網路進行資料存取,不會影響其他區域網路服務
  • 易於水平擴展: 由於有多台磁碟陣列,可分批增加磁碟陣列的儲存空間,而不影響服務運行

缺點

  • 價格十分高昂: SAN需要多台磁碟陣列及光纖網路,這都需要較高的成本
  • 管理十分複雜: SAN需額外管理各磁碟陣列之設備及維護光纖網路的設定,因此管理複雜並且難以學習曲線較高

RAID

描述

RAID(Redundant Array of Independent Disks)是以多個硬碟互相備援資料,以降低單一硬碟損壞造成資料遺失的風險。有多種RAID的等級,例如RAID 0, RAID 1, RIAD6等。各自有不同的備援邏輯及備份次數。可通過硬體或軟體實現RAID架構。

使用情境

  • 具有重要資料,希望避免單一硬碟故障造成資料遺失

優點

  • 冗餘備援:透過多個硬碟互相備援減低資料損失風險
  • 讀寫效率高:由於有多個硬碟,可同時並行讀寫多個不同的硬碟

缺點

  • 價格較高:按照不同的RAID等級,需要更多的冗餘備份硬碟,並且可能需要採購專門的RAID磁碟陣列
  • 管理複雜:需要考慮不同的RAID等級等儲存設定
  • 寫入速度可能降低:某些RAID模式下,因為需要同時寫入多個硬碟,可能會降低寫入速度
  • 無法應對區域性風險:無法避免區域性的停電或天災的資料損失風險

Block Storage

描述

若有大量資料儲存需求,以一個一個資料區塊為單位,分散儲存於多台伺服器中。可以連續或隨機地讀取檔案,也可以儲存結構性與關聯性的多組檔案。

使用情境

  • 企業內部共用資料夾
  • 虛擬機器(VM)或容器掛載的資料夾

優點

  • 可儲存大量的檔案:透過水平擴展,Block Storage能夠應對大容量的儲存需求。
  • 可儲存結構性的檔案:Block Storage支援儲存結構化的資料,如關聯式數據庫。

缺點

  • 架構較複雜,管理較複雜:Block Storage需要較多的配置和管理,包括區塊分配、存取控制等。
  • 建置成本高昂:建立和維護Block Storage的成本通常較高,包括硬體設備、存儲軟體、數據保護等方面的投入。

Object Storage

描述

Object Storage是一種儲存架構,以每一個檔案為單位,各檔案給予一個獨立的ID。通過這個ID搭配RESTful API進行存取。檔案的類型可以為圖片、影片或一般文件。這些檔案可以彈性地存放於分散式環境。通常搭配冗餘多重備份機制,以避免因災難造成資料遺失。

使用情境

  • 大量的檔案儲存需求
  • CDN、相簿、影片串流
  • 獨立的檔案: 儲存大量的圖片、影片、一般文件,較不適合儲存一組相關聯的結構性檔案。例如: 資料庫

優點

  • 易於儲存與備份: 各個檔案獨立,方便分散式儲存與備份
  • 易於存取: 通過RESTful API即可存取檔案

缺點

  • 無法儲存結構性資料: Object Storage主要用於儲存非結構化的檔案,不適合存儲結構化資料或關聯性數據。
  • 無法掛載為傳統作業系統的網路磁碟機: Object Storage無法像傳統的Block Storage那樣直接掛載為傳統作業系統的網路磁碟機,而是通過API進行存取。
  • 架構較複雜: Object Storage的架構相對複雜,需要更多的配置和管理。


上一篇
Day 20 網路架構 - 網路安全 (知識點099~103)
下一篇
Day 22 資料儲存 - 關聯性資料庫 (知識點110~113)
系列文
軟體架構備忘錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言